<html>
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> Criar expressões </title>
</head>
<body bgcolor="FFFFFF">


<h1> Criar expressões </h1>

<p> Para cada variável de saída, a janela Análise Combinacional
manterá duas estruturas - uma coluna correspondente na tabela-verdade,
e uma expressão lógica - que especificará a forma como cada entrada se
relacionará com a sua saída. Você poderá editar tanto a tabela-verdade ou a expressão,
que isso mudará a outra automaticamente, conforme necessário, para mantê-las coerentes.
</p>

<p> Como veremos a seguir, as expressões lógicas (ou booleanas) são
particularmente úteis, pois a janela Análise Combinacional as usará quando
for construir um circuito que corresponda ao estado atual.
</p>

<p> Você poderá visualizar e editar as expressões usando as duas últimas
guias da janela: a Expressão (Expression) e a Minimizada (Minimized). 
</p>

<h2> A guia Expressão (Expression) </h2>

<center><img src="../../../img-guide/analyze-expr.png"></center>
<h5>(Figura do original em inglês)</h5></center>

<p> A guia Expression permite visualizar e editar as expressões correntes 
associadas a cada variável de saída. Você poderá selecionar a expressão de saída 
que desejar visualizar e editá-la usando o seletor rotulado como "Saída:" 
("Output:") na parte superior do painel.
</p>

<p> Logo abaixo do seletor aparecerá a expressão formatada em uma notação
particularmente comum, onde uma porta OR será representada como adição,
uma porta AND será representada como multiplicação, e porta NOT é denotada
com uma barra acima da parte afetada pela negação. 
</p>

<p> O painel de texto embaixo mostra a mesma informação em formato ASCII.
Aqui, uma porta NOT será representada por um til ('~').
</p>

<p> Você poderá editar a expressão no painel de texto e clicar no botão
Entrar (Enter) para torná-la efetiva; isso também irá atualizar a tabela-verdade
para mantê-la coerente. O botão Limpar (Clear) apagará o painel de texto,
e botão Restaurar (Revert) fará o painel voltar a representar a expressão atual.
</p>

<p> Observar que as expressões editadas serão perdidas se você editar a
tabela-verdade.
</p>

<p> Além dos sinais de multiplicação e adição em lugar das portas AND e OR, 
uma expressão poderá conter qualquer tipo de operadores lógicos em  C/Java, 
bem como as próprias palavras (AND, OR, NOT).
</p>

<center><table>
<tr><th>maior precedência:</th><td align="center"><tt>~</tt> <tt>!</tt></td> <th>NOT</th></tr>
<tr><th></th><td align="center">(nada) <tt>&amp;</tt> <tt>&amp;&amp;</tt></td> <th>AND</th></tr>
<tr><th></th><td align="center"><tt>^</tt></td> <th>XOR</th></tr>
<tr><th>menor precedência:</th><td align="center"><tt>+</tt> <tt>|</tt> <tt>||</tt></td> <th>OR</th></tr>
</table></center>

<p> Os exemplos a seguir são representações válidas de uma mesma expressão. Você também
poderá misturar os operadores.
</p>

<table>
<tr><td><tt>~a (b + c)</tt></td></tr>
<tr><td><tt>!a &amp;&amp; (b || c)</tt></td></tr>
<tr><td><tt>NOT a AND (b OR c)</tt></td></tr>
</table>

<p> Em geral, os parênteses sobre uma sequência de ANDs (ou ORs ou XORs) não importam.
(Em particular, se criar um circuito correspondente no Logisim, ele irá ignorá-los.) 
</p>

<h2> A guia Minimizada (Minimized)</h2>

<center><img src="../../../img-guide/analyze-min.png"></center>
<h5>(Figura do original em inglês)</h5></center>

<p> A última guia exibe uma soma de produtos minimizada correspondente 
a uma coluna da tabela-verdade. Você poderá selecionar qual a expressão
minimizada de saída deverá ser exibida usando o seletor na parte superior.
</p>

<p> Se houver quatro entradas ou menos, um mapa de Karnaugh correspondente
à variável irá aparecer abaixo do seletor. Você poderá clicar no
mapa de Karnaugh para alterar os valores na tabela-verdade. O mapa de Karnaugh
também apresentará os termos selecionados para a expressão minimizada por meio de
retângulos arredondados, sólidos, semitransparentes.
</p>

<p> Embaixo estará a expressão minimizada, formatada como mostrado na guia
Expressão (Expression). Se houver mais de quatro entradas, o mapa de Karnaugh 
não aparecerá, mas a expressão minimizada ainda será calculada. 
(O Logisim usa o algoritmo de Quine-McCluskey para calcular a expressão minimizada. 
Isso é equivalente a um mapa de Karnaugh, mas se aplica a qualquer número de variáveis
de entrada.)
</p>

<p> O botão Definir Como Expressão (Set As Expression) permitirá selecionar
a expressão minimizada como aquela correspondente à variável. Isso geralmente 
não será necessário, já que editar a tabela-verdade resultará no uso da
expressão minimizada para a coluna alterada, mas se você digitar uma expressão 
através da guia apropriada, esta também poderá ser uma maneira conveniente
para se alterar a expressão minimizada correspondente.
</p>

<p><strong>Próximo:</strong> <a href="gen.html">Gerar um circuito</a>.</p>

</body>
</html>
